
package com.x52im.rbchat.logic.register;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

import com.eva.android.widget.ActivityRoot;
import com.eva.android.x.XToolKits;
import com.x52im.rbchat.R;
import com.x52im.rainbowchat.http.logic.dto.UserRegisterDTO;
import com.x52im.rbchat.utils.IntentFactory;

/**
 * 用户注册成功界面.
 *
 * @author Jason
 */
public class RegisterSuccessActivity extends ActivityRoot {
	private TextView uidTextView;
	private TextView mailTextView;
	private Button goButton;
	private UserRegisterDTO u;

	/**
	 * Called when the activity is first created.
	 * 本构造方法将额外调用 {@link #init(Bundle)}完成本类的所有初始化工作. */
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		// 全面屏沉浸式效果（系统状态栏将变的透明，界面从状态栏下方透过）
		XToolKits.setStatusBarTranslucent(this, true);
		super.onCreate(savedInstanceState);
	}

//	/**
//	 * 重写父类方法，取消深色状态栏文字的设置。
//	 */
//	@Override
//	protected void configStatusBarTextColorDark()
//	{
//		// 什么也不需要做
//	}

	/**
	 * 本方法由父类的 {@link #init(Bundle)} 调用，子类可在此方法中实现intent数据的读取。
	 */
	@Override
	protected void initDataFromIntent() {
		//解析从intent中传过来的数据
		u = IntentFactory.parseRegisterSuccessIntent(getIntent());
	}

	/**
	 * 本方法由父类的 {@link #init(Bundle)} 调用，子类可在此方法中实现ui的初始化。
	 */
	@Override
	protected void initViews(Bundle savedInstanceState) {
		// 养成良好习惯：首先设置主layout，确保后绪的操作中使用到的组件都可以被find到
		setContentView(R.layout.register_success);

		uidTextView = (TextView) findViewById(R.id.register_sucess_uid_text);
		mailTextView = (TextView) findViewById(R.id.register_sucess_email_text);
		if(u != null)
		{
			uidTextView.setText(u.getUser_uid());
			mailTextView.setText(u.getUser_mail());
		}
		goButton = (Button) findViewById(R.id.register_success_go_btn);
	}

	/**
	 * 本方法由父类的 {@link #init(Bundle)} 调用，子类可在此方法中为各UI功能组件增加事件临听。
	 */
	@Override
	protected void initListeners() {
		goButton.setOnClickListener(v -> {
			// 注册成功后，将uid和密码回传给登陆页面，方便用户立即登陆
			setResult(Activity.RESULT_OK, IntentFactory.createLoginIntent(
					RegisterSuccessActivity.this
					, u.getUser_uid()
					, u.getUser_psw()));
			finish();
		});
	}
}
